// 云函数入口文件
const cloud = require('wx-server-sdk')

// 初始化云开发环境
cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV
})

// 云函数入口函数
exports.main = async (event, context) => {
  const { OPENID } = cloud.getWXContext()
  const { orderId, totalFee } = event

  try {
    const result = await cloud.cloudPay.unifiedOrder({
      body: '商品购买', // 商品描述
      outTradeNo: orderId, // 商户订单号
      spbillCreateIp: '127.0.0.1', // IP地址
      subMchId: '1900000109', // 商户号，需要替换为你的商户号
      totalFee: totalFee, // 总金额，单位为分
      envId: cloud.DYNAMIC_CURRENT_ENV, // 环境ID
      functionName: 'payCallback', // 支付回调云函数
      nonceStr: Math.random().toString(36).substr(2), // 随机字符串
      tradeType: 'JSAPI', // 交易类型
      openid: OPENID // 用户openid
    })

    return {
      code: 0,
      message: 'success',
      payment: result
    }
  } catch (err) {
    console.error('支付失败：', err)
    return {
      code: -1,
      message: '支付失败',
      error: err
    }
  }
} 